/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package prueba;

import clasesVarias.Empleados;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

 
/**
 *
 * @author Hugo
 */
public class Empresa {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {


        Empleados e1 = new Empleados("hugo","3432432",33);
        Empleados e2 = new Empleados("fran","3432432",13);
        Empleados e3 = new Empleados("carla","3432432",33);
        Empleados e4 = new Empleados("pedro","3432432",23);

        List<Empleados> empleados = new ArrayList() ;//sin el <>(generic) te lo toma como objetos

            empleados.add(e1);
            empleados.add(e2);
            empleados.add(e3);
            empleados.add(e4);
           // empleados.add(20);

           
           //Collection<?> col=empleados;

           //forma antigua
           for(int i=0; i<empleados.size();i++){
           Empleados empi= (Empleados)empleados.get(i);
           if(empi.getEdad()<30){
               System.out.println(empi);
               }
            }
       
          //usando iterator
            Iterator emp = empleados.iterator();
           while(emp.hasNext()){
               Empleados e = (Empleados)emp.next();
               if(e.getEdad()<30){
               System.out.println(e);
               }     
           }

            //usando generic: Gracias a los generics podemos
            //especificar el tipo de objeto que introduciremos en la colección evitándonos así el casting
            //tambien podemos crear nuestras propias clases parametrizadas
            for(Empleados e: empleados){
                if(e.getEdad()<30){
                    System.out.println(e);
                }
            }

          //  System.out.println(empleados.size());
    

}
}
